#ifndef NR_SERVER_MAIN_WINDOW_H
#define NR_SERVER_MAIN_WINDOW_H

#include <QtGui/QMainWindow>
#include <QStackedWidget>
#include <QSplitter.h>
#include "ui_nr_server_main_window.h"
#include "nr_server.h"
#include "nr_server_device_tree.h"
#include "nr_server_widget_base.h"

class nr_server_main_window : public QMainWindow
{
    Q_OBJECT
public:
    nr_server_main_window(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~nr_server_main_window();
    
private:
    void init_ui();
    void init_stack_widgets();

    Ui::nr_server_main_window ui;
    // nr_server m_server;

    QSplitter *m_splitter;
    QStackedWidget *m_stacked_widget;
    nr_server_device_tree *m_device_tree;
    QHash<nr_object_type_t, nr_server_widget_base*> m_content_widgets;
};

#endif // NR_SERVER_H
